import { createI18n } from "vue-i18n";
import { createPinia } from "pinia";
import zh from "./assets/lang/ZH-CN.json";
import en from "./assets/lang/EN-US.json";
import axios from "./api/axios"; // 导入配置好的axios实例
import router from './router'
import { createApp } from "vue";
import App from "./App.vue";
// 后引入tailwind.css，保证样式能覆盖iconfont.css的样式
import "./style.css";


import { getToken,setToken } from "./utils/auth"; // 引入 auth.js 的方法
import login from "./api/login"; // 引入 login


const messages = {
  zh,
  en,
};
const i18n = createI18n({
  locale: "zh", // 设置默认语言
  messages,
});
const pinia = createPinia();
const app = createApp(App);

app.config.globalProperties.$axios = axios;
app.use(i18n)
app.use(pinia)
app.use(router)
// app.mount("#app");


function handleTicketInURL() {

  const loginUrl = import.meta.env.VITE_CAS_BASEURL;
  console.log("跳转到登录地址:", loginUrl);
  const url = new URL(window.location.href);
  if (url.searchParams.has("ticket")) {
    const ticket = url.searchParams.get("ticket"); // 获取 ticket 参数的值
    console.log("获取到的 ticket 参数值:", ticket);

    url.searchParams.delete("ticket");
    window.history.replaceState(null, "", url.toString()); // 更新 URL，不刷新页面
    console.log("URL 包含 ticket 参数，已移除。");

    // 在这里添加 if 的逻辑，比如使用 ticket 参数
    // 示例：
    console.log("进入 IF 分支，处理逻辑。");

    login.loginCas({
      ticket:ticket,
      service:url.toString()
    }).then((res) => {

      //localStorage.setItem("token")
      setToken(res);
      console.log("=============",getToken());
      app.mount("#app");
    });

  } else {
    console.log("URL 不包含 ticket 参数。");
    // 在这里添加 else 的逻辑
    console.log("进入 ELSE 分支，处理逻辑。");
    
    const token = getToken();
    if (token) {
      console.log("Token 已存在:", token);
      app.mount("#app");
    } else {
      console.log("Token 不存在。");
      //不存在直接跳转到cas去登录

      // 获取当前页面 URL 作为 service 参数
      const service = encodeURIComponent(window.location.href);
      const loginUrl = import.meta.env.VITE_CAS_BASEURL+`?service=${service}`;
      console.log("跳转到登录地址:", loginUrl);

      // 跳转到登录页面
      window.location.href = loginUrl;

    }
  }
}

handleTicketInURL();